package cn.edu.hyit.hjq.volunteems.backend.dto.request;

import jakarta.validation.constraints.Future;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class ActivityRequest {
    /**
     * 活动标题
     */
    @NotBlank(message = "活动标题不能为空")
    @Size(max = 50, message = "标题不能超过50个字符")
    private String title;

    /**
     * 活动地点
     */
    @NotBlank(message = "活动地点不能为空")
    @Size(max = 100, message = "地点不能超过100个字符")
    private String location;

    /**
     * 活动人数上限
     */
    @NotNull(message = "活动人数不能为空")
    private Integer capacity;

    /**
     * 活动描述
     */
    @Size(max = 500, message = "描述不能超过500个字符")
    private String description;

    /**
     * 活动开始时间（必须是未来时间）
     */
    @NotNull(message = "开始时间不能为空")
    @Future(message = "开始时间必须是将来的时间")
    private LocalDateTime startTime;

    /**
     * 活动结束时间（必须是未来时间）
     */
    @NotNull(message = "结束时间不能为空")
    @Future(message = "结束时间必须是将来的时间")
    private LocalDateTime endTime;
}
